package head.first.model.state.demo1;

/**
 * Created by yiyongyao on 2018/2/27.
 *
 * 注意该类是抽象类, 设计模式中用的是接口
 *
 * 使订单状态发生改变的动作都在这里定义
 */
public abstract class OrderState {

    //确认订单  已预约-->已确认
    abstract void confirm(OrderContext orderContext);

    //修改订单  已确认状态>已预定状态
    abstract  void modify(OrderContext orderContext);

    //支付订单  已确认状态>已锁定状态
    abstract  void pay(OrderContext orderContext);

    //显示订单当前所处的状态
    abstract  void dispalyState(OrderContext orderContext);

}
